package com.sugar.subscribe.course.module.business.controller.admin.user.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 用户新增/修改 Request VO")
@Data
public class BizUserSaveReqVO {

    @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1741")
    private Long id;

    @Schema(description = "昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
    @NotEmpty(message = "昵称不能为空")
    private String nickname;

    @Schema(description = "头像")
    private String avatar;

    @Schema(description = "手机号", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "手机号不能为空")
    private String mobile;

    @Schema(description = "微信OpenID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12581")
    @NotEmpty(message = "微信OpenID不能为空")
    private String openId;

    @Schema(description = "账户状态（1正常 0封禁）", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "账户状态（1正常 0封禁）不能为空")
    private Boolean status;

    @Schema(description = "最近一次登录时间")
    private LocalDateTime lastLoginTime;

    @Schema(description = "姓名", example = "李四")
    private String name;

    @Schema(description = "性别 1男 2女（字典：system_user_sex）")
    private Integer gender;

    @Schema(description = "教练入驻（0未入驻 1已入驻）", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "教练入驻（0未入驻 1已入驻）不能为空")
    private Boolean isCoach;

    @Schema(description = "入驻教练用户ID", example = "24754")
    private Long coachUserId;

}